package com.xiaoc.bulldozer.common.service.impl;

import java.util.List;
import java.util.Date;
import java.util.Map;
import java.util.Set;
import javax.annotation.Resource;

import com.xiaoc.bulldozer.common.dto.StatisticAccountDto;
import com.xiaoc.bulldozer.common.dto.StatisticInternetBankQueryDto;
import com.xiaoc.bulldozer.common.model.StatisticInternetBank;
import org.springframework.stereotype.Service;
import com.xiaoc.bulldozer.common.dao.StatisticAccountMapper;
import com.xiaoc.bulldozer.common.dto.StatisticAccountQueryDto;
import com.xiaoc.bulldozer.common.model.StatisticAccount;
import com.xiaoc.bulldozer.common.service.StatisticAccountService;

/**
 * StatisticAccount Service 实现类
 *
 * @author Danfo Yam
 * @date 2018-11-12 14:51:41
 */
@Service("statisticAccountService")
public class StatisticAccountServiceImpl implements StatisticAccountService {

    @Resource
    private StatisticAccountMapper statisticAccountMapper;

    @Override
    public Integer getStatisticAccountCountByCondition(StatisticAccountQueryDto statisticAccountQueryDto) {
        return statisticAccountMapper.getStatisticAccountCountByCondition(statisticAccountQueryDto);
    }

    @Override
    public List<StatisticAccount> getStatisticAccountListByCondition(StatisticAccountQueryDto statisticAccountQueryDto) {
        return statisticAccountMapper.getStatisticAccountListByCondition(statisticAccountQueryDto);
    }

    @Override
    public List<StatisticInternetBank> getStatisticInternetBankList(StatisticInternetBankQueryDto queryDto) {
        return statisticAccountMapper.getStatisticInternetBankList(queryDto);
    }

    @Override
    public Integer getStatisticInternetBankCount(StatisticInternetBankQueryDto queryDto) {
        return statisticAccountMapper.getStatisticInternetBankCount(queryDto);
    }

    @Override
    public StatisticInternetBank getStatisticInternetBankCountByCode(StatisticInternetBankQueryDto queryDto) {
        return statisticAccountMapper.getStatisticInternetBankCountByCode(queryDto);
    }

    @Override
    public StatisticAccount getStatisticAccountById(Integer id) {
        return statisticAccountMapper.getStatisticAccountById(id);
    }

    @Override
    public List<StatisticAccount> getAllStatisticAccountList() {
        return statisticAccountMapper.getAllStatisticAccountList();
    }

    @Override
    public void save(StatisticAccount statisticAccount) {
        statisticAccountMapper.save(statisticAccount);
    }

    @Override
    public void update(StatisticAccount statisticAccount) {
        statisticAccountMapper.update(statisticAccount);
    }

    @Override
    public void deleteById(Integer id) {
        statisticAccountMapper.deleteById(id);
    }


    @Override
    public List<StatisticAccountDto> getAccountCountForTalentByTime(long startTime, long endTime) {
        return statisticAccountMapper.getAccountCountForTalentByTime(startTime, endTime);
    }

    @Override
    public List<StatisticAccountDto> getLoanCountForTalentByTime(long startTime, long endTime) {
        return statisticAccountMapper.getLoanCountForTalentByTime(startTime, endTime);
    }

    @Override
    public List<StatisticAccountDto> getAwardPartnerCountForTalentByTime(long startTime, long endTime) {
        return statisticAccountMapper.getAwardPartnerCountForTalentByTime(startTime, endTime);
    }

    @Override
    public void saveBatch(List<StatisticAccount> statisticAccountList) {
        statisticAccountMapper.saveBatch(statisticAccountList);
    }

    @Override
    public void deleteByTypeAndTime(Integer type, long startTime, long endTime) {
        statisticAccountMapper.deleteByTypeAndTime(type, startTime, endTime);
    }


    @Override
    public List<StatisticAccountDto> getStatisticAccountDtoListByCondition(StatisticAccountQueryDto statisticAccountQueryDto) {
        return statisticAccountMapper.getStatisticAccountDtoListByCondition(statisticAccountQueryDto);
    }

    @Override
    public Integer getStatisticAccountDtoCountByCondition(StatisticAccountQueryDto statisticAccountQueryDto) {
        return statisticAccountMapper.getStatisticAccountDtoCountByCondition(statisticAccountQueryDto);
    }

    @Override
    public List<StatisticAccountDto> getStatAmountListByCondition(StatisticAccountQueryDto statisticAccountQueryDto) {
        return statisticAccountMapper.getStatAmountListByCondition(statisticAccountQueryDto);
    }
}
